Lars Ingebrigtsen [Thu, 12 Nov 2020 12:39:40 +0000 (13:39 +0100)]
Remove mention of `edebug-on-signal' from a doc string
* lisp/emacs-lisp/edebug.el (edebug-mode): Don't mention
non-existent user option (bug#44577).
Lars Ingebrigtsen [Thu, 12 Nov 2020 12:36:19 +0000 (13:36 +0100)]
Clarify project-find-file doc string
* lisp/progmodes/project.el (project-find-file): Don't say
anything about recognizing file names, as that may lead the user
to think that it'll check whether the string at point is an
existing file (bug#44588).
Juri Linkov [Thu, 12 Nov 2020 07:38:21 +0000 (09:38 +0200)]
Add help-form to the cache key in read-char-from-minibuffer
Stefan Kangas [Thu, 12 Nov 2020 02:27:26 +0000 (03:27 +0100)]
* test/lisp/help-fns-tests.el: Silence byte-compiler.
Stefan Kangas [Thu, 12 Nov 2020 02:20:39 +0000 (03:20 +0100)]
* test/lisp/hfy-cmap-resources/rgb.txt: Add comment line.
Stefan Kangas [Thu, 12 Nov 2020 01:55:02 +0000 (02:55 +0100)]
Remove redundant installation instructions
* lisp/net/newsticker.el:
* lisp/net/sieve-mode.el:
* lisp/play/bubbles.el:
* lisp/play/handwrite.el:
* lisp/progmodes/python.el:
* lisp/progmodes/ruby-mode.el:
* lisp/whitespace.el: Remove redundant installation instructions.
These packages are distributed with Emacs and/or GNU ELPA.
* lisp/calendar/timeclock.el:
* lisp/ehelp.el:
* lisp/emacs-lisp/checkdoc.el:
* lisp/filesets.el:
* lisp/mail/reporter.el:
* lisp/net/rfc2104.el:
* lisp/net/webjump.el:
* lisp/pixel-scroll.el: Remove redundant recommendation to call
require before using autoloaded functions.
* lisp/tar-mode.el: Remove reference to package uncompress, removed in
Emacs 23.
Stefan Kangas [Thu, 12 Nov 2020 01:28:10 +0000 (02:28 +0100)]
* lisp/progmodes/ruby-mode.el (auto-mode-alist): Add Brewfile.
Stefan Kangas [Mon, 9 Nov 2020 21:23:04 +0000 (22:23 +0100)]
Fix mistake in describe-buffer-bindings
* src/keymap.c (Fdescribe_buffer_bindings): Fix a call in
describe-buffer-bindings. This fixes a mistake in my previous commit
to prefer the Lisp version of describe-map-tree (
8a1441310aa1), where
0 was accidentally converted to Qt in two places.
Juri Linkov [Thu, 12 Nov 2020 01:38:44 +0000 (03:38 +0200)]
Use cache with help-char in read-char-from-minibuffer unless help-form is nil
Juri Linkov [Wed, 11 Nov 2020 19:18:31 +0000 (21:18 +0200)]
In dired-query use read-char-from-minibuffer with bound help-char (bug#42708)
* lisp/dired-aux.el (dired-query): Replace read-char-choice call
with read-char-from-minibuffer.
* lisp/subr.el (read-char-choice): Restore the previous version
that uses read-key.
(read-char-from-minibuffer): Bind help-char to help-form-show
when help-form is non-nil.
Eric Abrahamsen [Wed, 11 Nov 2020 18:36:51 +0000 (10:36 -0800)]
Remove unused "internal" gnus-search variables
* lisp/gnus/gnus-search.el (gnus-search-memo-query,
gnus-search-memo-server): No longer needed.
Eric Abrahamsen [Wed, 11 Nov 2020 17:34:53 +0000 (09:34 -0800)]
Fix defgeneric name of gnus-search-index(ed)-extract
* lisp/gnus/gnus-search.el (gnus-search-indexed-extract): Had the
wrong name on the generic.
Dario Gjorgjevski [Wed, 11 Nov 2020 11:27:59 +0000 (12:27 +0100)]
Fix python-font-lock-keywords-maximum-decoration performance regression
* lisp/progmodes/python.el
(python-font-lock-keywords-maximum-decoration): `symbol-name'
should not be quantified by a `+' as it is redundant and performs
very badly (bug#44572).
Lars Ingebrigtsen [Wed, 11 Nov 2020 09:59:47 +0000 (10:59 +0100)]
Remove mention of global-cedet-m3-minor-mode
* lisp/cedet/semantic.el (semantic-submode-list):
(semantic-default-submodes): Remove mention of
global-cedet-m3-minor-mode, which no longer exists, apparently
(bug#44565).
Dario Gjorgjevski [Wed, 11 Nov 2020 09:49:04 +0000 (10:49 +0100)]
Fix font lock of assignments with type hints in Python
* lisp/progmodes/python.el
(python-font-lock-keywords-maximum-decoration): Fix regular
expressions for font lock of assignments with type hints (bug#44568).
The font lock of assignments with type hints in Python is rather bad.
Consider the following example:
from typing import Mapping, Tuple, Sequence
var1: int = 5
var2: Mapping[int, int] = {10: 1024}
var3: Mapping[Tuple[int, int], int] = {(2, 5): 32}
var4: Sequence[Sequence[int]] = [[1], [1, 2], [1, 2, 3]]
var5: Sequence[Mapping[str, Sequence[str]]] = [
{
'red': ['scarlet', 'vermilion', 'ruby'],
'green': ['emerald green', 'aqua']
},
{
'sword': ['cutlass', 'rapier']
}
]
As things stand right now, only ‘var1’ would be highlighted. To make
things worse, the ‘Mapping’ type hint of ‘var2’ would also be
highlighted, which is entirely incorrect.
This commit makes all of ‘var1’ through ‘var5’ be highlighted
correctly.
Harald Jörg [Wed, 11 Nov 2020 09:42:44 +0000 (10:42 +0100)]
Cleanup of the test file for cperl-mode
* test/lisp/progmodes/cperl-mode-tests.el
(cperl--run-test-cases): New macro, factored out from various
indentation / rewriting tests. Contains documentation of the
format used by the cperl-mode-resources files.
(cperl-test-bug-19709): Replace 'next-line' by 'forward-line'.
(cperl-test-indent-exp),
(cperl-test-indent-styles),
(cperl-test-bug-30393): Use the new macro.
(cperl-test-bug-19709): Make fit for Emacs 26.
(cperl-test-indent-styles): Skip for Perl mode (bug#44561).
Stefan Monnier [Wed, 11 Nov 2020 04:26:28 +0000 (23:26 -0500)]
* lisp/server.el: Refactor frame creation functions
(server--create-frame): New function, extracted from
`server-create-dumb-terminal-frame`.
(server-create-window-system-frame, server-create-tty-frame):
(server-create-dumb-terminal-frame): Use it.
Eliza Velasquez [Wed, 11 Nov 2020 03:14:03 +0000 (22:14 -0500)]
* lisp/server.el: Fix frame creation on dumb terminals (bug#25547)
(server-create-dumb-terminal-frame): New function.
(server-process-filter): Use it.
(server-delete-client): Don't delete tty terminal when it's not
exclusive to this client.
Juri Linkov [Tue, 10 Nov 2020 19:27:37 +0000 (21:27 +0200)]
Don't set file name variable in org-element-parse-secondary-string (bug#44524)
* lisp/org/org-element.el (org-element-parse-secondary-string):
Don't set buffer-local variables buffer-file-name and buffer-file-truename
in temporary buffer.
Juri Linkov [Tue, 10 Nov 2020 19:21:18 +0000 (21:21 +0200)]
* lisp/leim/quail/compose.el ("iso-transl"): New input method.
* doc/emacs/basic.texi (Inserting Text):
Mention transient input method "iso-transl".
* lisp/leim/quail/latin-ltx.el: Use same Keywords as in other quail files.
Eli Zaretskii [Tue, 10 Nov 2020 17:41:04 +0000 (19:41 +0200)]
New debugging command 'malloc-info'
* src/alloc.c (Fmalloc_info) [GNU_LINUX]: New command.
(syms_of_alloc): Defsubr it. (Bug#43389)
Dmitry Gutov [Tue, 10 Nov 2020 16:08:13 +0000 (18:08 +0200)]
Clear the vc-state cache when returning nil
* lisp/vc/vc-hg.el (vc-hg-registered):
Clear the vc-state cache when returning nil.
Tom Fitzhenry [Mon, 9 Nov 2020 11:19:10 +0000 (22:19 +1100)]
Remove extra process call from vc-hg-registered
Prefer vc-state to benefit from its caching (bug#44534)
This same technique is used in vc-git.el,
per commit 2018-06-28 "Remove extra process call from vc-git-find-file-hook"
93c41ce6aa64b14fc9bd7bdd0d909915a79191cd.
* lisp/vc/vc-hg.el (vc-hg-registered): Use vc-state rather than vc-hg-state.
Eli Zaretskii [Tue, 10 Nov 2020 15:06:46 +0000 (17:06 +0200)]
Fix a recent change in image.c for MS-Windows
* src/image.c: Fix DEF_DLL_FN of
rsvg_handle_get_intrinsic_dimensions. Reported by Andy Moreton
<andrewjmoreton@gmail.com>.
Steven Allen [Tue, 10 Nov 2020 09:02:15 +0000 (10:02 +0100)]
Only use nbutlast when we actually want to modify the original list
* lisp/net/tramp-gvfs.el (tramp-gvfs-dbus-byte-array-to-string):
Don't modify the byte array.
* lisp/net/tramp-integration.el (tramp-eshell-directory-change):
Don't modify the underlying exec-path.
Andrew G Cohen [Tue, 10 Nov 2020 00:19:43 +0000 (08:19 +0800)]
Remove ephemeral group on error or null result
* lisp/gnus/nnselect.el (nnselect-request-group): If an ephemeral
group is empty, there is nothing to see, so remove the group.
(nnselect-run): Catch and return an empty artlist on error.
Alan Mackenzie [Mon, 9 Nov 2020 21:19:19 +0000 (21:19 +0000)]
CC Mode: fix many compiler warnings which would appear with lexical binding
* lisp/progmodes/cc-align.el (three places) prefix langelem with a _.
* lisp/progmodes/cc-{cmds,engine}.el: Remove superfluous local variables.
* lisp/progmodes/cc-defs.el (c-will-be-unescaped): Remove unused parameter
end.
* lisp/progmodes/cc-engine.el (c-looking-at-decl-block): Remove unused
parameter containing-sexp.
(c-looking-at-special-brace-list); Remove unused parameter lim.
(c-add-class-syntax): Remove unused parameter paren-state.
Stefan Kangas [Mon, 9 Nov 2020 20:43:53 +0000 (21:43 +0100)]
Add test for substitute-command-keys with command remap
* test/lisp/help-tests.el (help-tests-remap-map): New variable.
(help-tests-substitute-command-keys/remap): New test.
(help-tests-substitute-command-keys/keymaps)
(help-tests-substitute-command-keys/undefined-map): Fix indentation.
Brian Leung [Mon, 9 Nov 2020 16:38:18 +0000 (08:38 -0800)]
shortdoc: prefer seq-contains-p over seq-contains
* lisp/emacs-lisp/shortdoc.el (sequence): use seq-contains-p instead
of seq-contains, which is obsolete as of 27.1. (Bug#44536)
Copyright-paperwork-exempt: yes
Stefan Kangas [Thu, 5 Nov 2020 14:32:45 +0000 (15:32 +0100)]
Simplify getting value of text-quoting-style (Bug#44471)
* src/doc.c (text_quoting_style): Remove function by merging it...
(Ftext_quoting_style): ...here. Rename from Fget_quoting_style.
(syms_of_doc): Update defsubr for Ftext_quoting_style.
* src/lisp.h (enum text_quoting_style): Remove enum.
* src/doprnt.c (doprnt):
* src/editfns.c (styled_format):
* lisp/help.el (substitute-command-keys): Update callers to use
text-quoting-style.
Philipp Stephani [Mon, 9 Nov 2020 17:15:12 +0000 (18:15 +0100)]
* lisp/disp-table.el (make-glyph-code): Remove obsolete comment.
Mattias Engdegård [Mon, 9 Nov 2020 17:05:08 +0000 (18:05 +0100)]
Better warning suppression in rx-tests
* test/lisp/emacs-lisp/rx-tests.el (rx-compat): Use with-no-warnings
instead of with-suppressed-warnings which complains when running
the test interactively.
Mattias Engdegård [Mon, 9 Nov 2020 16:11:05 +0000 (17:11 +0100)]
Fix pcase rx form snag with '?' and '??' (bug#44532)
This is a regression from Emacs 26.
Reported by Phillip Stephani.
* lisp/emacs-lisp/rx.el (rx--pcase-transform): Process ? and ?? correctly.
* test/lisp/emacs-lisp/rx-tests.el (rx-pcase): Add test case.
Alan Third [Mon, 9 Nov 2020 16:22:13 +0000 (16:22 +0000)]
Fix css length calculations
* src/image.c (svg_css_length_to_pixels): Put in missing breaks where
necessary.
Lars Ingebrigtsen [Mon, 9 Nov 2020 16:21:56 +0000 (17:21 +0100)]
Make the SHOW parameter work again in `run-python'
* lisp/progmodes/python.el (run-python): Make the SHOW parameter
work again after the fix for 31398 (bug#44421).
Protesilaos Stavrou [Mon, 9 Nov 2020 16:14:24 +0000 (17:14 +0100)]
Use a separate face for expanded log-view bodies
* lisp/vc/log-view.el (log-view-commit-body): Define new face.
(log-view-toggle-entry-display): Implement 'log-view-commit-body'
face (bug#44424).
Lars Ingebrigtsen [Mon, 9 Nov 2020 15:50:45 +0000 (16:50 +0100)]
Clarify Lisp warning about elements following other expressions
* lisp/emacs-lisp/lisp-mode.el (lisp-fdefs): Clarify warning in
help text (bug#44482).
Eli Zaretskii [Mon, 9 Nov 2020 15:35:52 +0000 (17:35 +0200)]
Fix compilation of image.c on MS-Windows
This is a followup to last change in image.c.
* src/image.c (rsvg_handle_get_intrinsic_dimensions): Define to
call fn_rsvg_handle_get_intrinsic_dimensions.
(svg_css_length_to_pixels): Compile only for librsvg >= 2.46.0, as
RsvgLength type was not defined before.
Eli Zaretskii [Mon, 9 Nov 2020 14:57:03 +0000 (16:57 +0200)]
Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs
Alan Third [Sat, 31 Oct 2020 15:14:34 +0000 (15:14 +0000)]
Fix crash in ns_mouse_position (bug#44313)
* src/nsterm.m (ns_destroy_window): Close the window before freeing
the frame resources so we don't end up accessing the frame struct
after it's been freed.
Andrii Kolomoiets [Mon, 12 Oct 2020 11:24:25 +0000 (14:24 +0300)]
NS: Make s-<left/right> to move to beginning/end of line
* lisp/term/ns-win.el: Bind 's-<left>' to 'move-beginning-of-line';
bind 's-<right>' to 'move-end-of-line'.
* etc/NEWS: Mention new bindings.
Alan Third [Sun, 25 Oct 2020 15:45:07 +0000 (15:45 +0000)]
Calculate SVG image sizes more accurately (bug#44206)
* src/image.c (svg_css_length_to_pixels): New function.
(svg_load_image): Try more methods to work out the image size.
Harald Jörg [Mon, 9 Nov 2020 14:25:47 +0000 (15:25 +0100)]
cperl-mode: Indentation of ')' follows customisation
* lisp/progmodes/cperl-mode.el (cperl-style-alist): Add
cperl-close-paren-offset to the settings for PBP style.
* test/lisp/progmodes/cperl-mode-tests.el (cperl-bug19709):
New test to verify correct indentation of closing parentheses (Bug#19709).
* test/lisp/progmodes/cperl-mode-resources/cperl-bug-19709.pl:
New test case with code from the bug report.
* test/lisp/progmodes/cperl-mode-resources/cperl-indent-styles.pl:
Add a new test clause for cperl-close-paren-offset.
Akira Kyle [Mon, 9 Nov 2020 13:51:48 +0000 (14:51 +0100)]
Fix xwidget's webkitgtk widget overriding of Emacs SIGCHLD handler
* src/xwidget.c (make-xwidget): Save and restore Emacs SIGCHLD signal
handler since glib doesn't (but should) do this.
Copyright-paperwork-exempt: yes
Stefan Kangas [Mon, 9 Nov 2020 10:35:32 +0000 (11:35 +0100)]
Remove test for return value of set-keymap-parent
* test/src/keymap-tests.el
(keymap-keymap-set-parent/returns-parent): Remove test for the return
value of set-keymap-parent. It is not clear that returning the value
is a very good idea.
Problem pointed out by Stefan Monnier <monnier@iro.umontreal.ca>.
Eric Abrahamsen [Mon, 9 Nov 2020 00:32:10 +0000 (16:32 -0800)]
Add more protections to gnus-search query parsing
* lisp/gnus/gnus-group.el (gnus-group-make-search-group,
gnus-group-read-ephemeral-search-group): If the query is coming in via
the old 'nnir-query-spec key, we know not to parse it.
* lisp/gnus/gnus-search.el (gnus-search-make-query-string): Check if
the query was sent in as '(query "query"), and not '(query . "query).
(gnus-search-imap-search-keys): Add x-gm-raw to imap search keys.
(gnus-search-prepare-query): If we know this query should be raw,
don't even try parsing it, as it probably won't work.
Juri Linkov [Sun, 8 Nov 2020 19:45:02 +0000 (21:45 +0200)]
* lisp/progmodes/project.el: Don't truncate the saved project list.
* lisp/progmodes/project.el (project--write-project-list):
Let-bind print-length and print-level to nil to not truncate the
saved project list with unreadable ellipsis.
Eric Abrahamsen [Sun, 8 Nov 2020 16:37:03 +0000 (08:37 -0800)]
Another backwards-compatibility fix for gnus-search
* lisp/gnus/gnus-search.el (gnus-search-server-to-engine): Because of
the way we've set up the obsolete variable alias for
`nnir-method-default-engines', we may end up with its value in
`gnus-search-default-engines'. Make the check for "old style" values
general, so we catch them no matter where they came from.
Eli Zaretskii [Sun, 8 Nov 2020 14:51:13 +0000 (16:51 +0200)]
Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs
Alan Mackenzie [Sun, 8 Nov 2020 13:28:55 +0000 (13:28 +0000)]
Don't set the selected window to the miniwindow on a frame change.
Intended to fix bug #44502.
* src/minibuf.c (move_minibuffer_onto_frame): Remove the lines of code which
set the selected window to the minibuffer.
Dmitry Gutov [Sun, 8 Nov 2020 12:29:11 +0000 (14:29 +0200)]
Doc fix
* lisp/vc/vc.el (vc-deduce-fileset): Doc fix (bug#44420).
Dmitry Gutov [Sun, 8 Nov 2020 12:02:55 +0000 (14:02 +0200)]
Mention which exact file is already registered
* lisp/vc/vc.el (vc-register):
Mention which exact file is already registered (bug#44420).
Glenn Morris [Sat, 7 Nov 2020 17:57:56 +0000 (09:57 -0800)]
Merge from origin/emacs-27
f5d7fb3a2d (origin/emacs-27) Fix 'uudecode-decode-region-internal' in...
d4242177da Fix 'send-string-to-terminal' writing very long strings
9da0f4026c * lisp/subr.el (read-char-from-minibuffer): Doc fix. (Bug...
9899f74e4e Merge branch 'emacs-27' of git.savannah.gnu.org:/srv/git/e...
a6fcba783e Fix documentation of 'windmove-swap-states-default-keybind...
f4acd7a924 Split windows evenly when 'min-margins' parameter was set ...
Glenn Morris [Sat, 7 Nov 2020 17:57:56 +0000 (09:57 -0800)]
; Merge from origin/emacs-27
The following commits were skipped:
0cdd6c9218 Handle Cairo errors in ftcrfont_open
29af10afe8 Backport: Fix exiting the finder-commentary buffer
Glenn Morris [Sat, 7 Nov 2020 17:57:56 +0000 (09:57 -0800)]
Merge from origin/emacs-27
53933cdf5c ; * lisp/international/mule.el (define-coding-system): Doc...
e90ffcf759 * src/w32fns.c (Fw32_register_hot_key): Doc fix. (Bug#44456)
89740e9cb5 Prevent redisplay from moving point behind user's back
5932df7435 Document that the :match function for a widget takes an ex...
1b7ab9d0ac Don't render XML declaration of an HTML document (bug#44348)
# Conflicts:
# lisp/international/mule.el
Eric Abrahamsen [Sat, 7 Nov 2020 17:40:40 +0000 (09:40 -0800)]
Various fixes and backward compatibility for gnus-search
* lisp/gnus/gnus-group.el (gnus-group-make-search-group,
gnus-group-read-ephemeral-search-group): Check for and accept the old
nnir-* spec keys.
* lisp/gnus/gnus-search.el (shared-initialize): Use
generate-new-buffer instead of doing it ourselves.
(gnus-search-server-to-engine): Raise an informative error explicitly
if we can't find a search engine, rather than letting it fall through
to something less helpful.
(gnus-search-make-spec): Add `gnus-search--complete-key-data' to
`completion-at-point-functions' locally, not globally.
Eli Zaretskii [Sat, 7 Nov 2020 15:26:45 +0000 (17:26 +0200)]
Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs
Stefan Monnier [Sat, 7 Nov 2020 15:15:22 +0000 (10:15 -0500)]
* lisp/emacs-lisp/lisp-mode.el: Avoid false-positive "hidden arg" in strings
(lisp--match-hidden-arg): Don't misfire in strings and comments.
Reported by: Andrii Kolomoiets <andreyk.mad@gmail.com>
Mauro Aranda [Sat, 7 Nov 2020 12:53:21 +0000 (09:53 -0300)]
Add test for recent change in enable-theme
* test/lisp/custom-tests.el (custom-test-enable-theme-keeps-settings):
Enabling a theme should not change the theme settings, so test for
that. See
https://lists.gnu.org/archive/html/emacs-devel/2020-11/msg00232.html
Eli Zaretskii [Sat, 7 Nov 2020 10:29:41 +0000 (12:29 +0200)]
Don't leave lock files after 'replace-buffer-contents'
* src/editfns.c (Freplace_buffer_contents): Unlock the buffer's
file if no changes have been made. (Bug#44303)
Kazuhiro Ito [Thu, 5 Nov 2020 10:48:08 +0000 (19:48 +0900)]
Fix 'uudecode-decode-region-internal' in multibyte buffers
* lisp/mail/uudecode.el (uudecode-decode-region-internal): Fix
inserting the decoded string into a multibyte buffer. Optimize by
working with characters, not strings. (Bug#44411)
Copyright-paperwork-exempt: yes
Eli Zaretskii [Sat, 7 Nov 2020 09:19:44 +0000 (11:19 +0200)]
Fix 'send-string-to-terminal' writing very long strings
* src/dispnew.c (Fsend_string_to_terminal): Prevent partial writes
by blocking SIGIO while 'fwrite' runs. (Bug#44320)
Eli Zaretskii [Sat, 7 Nov 2020 09:10:36 +0000 (11:10 +0200)]
* lisp/subr.el (read-char-from-minibuffer): Doc fix. (Bug#44451)
Eli Zaretskii [Sat, 7 Nov 2020 08:57:48 +0000 (10:57 +0200)]
Merge branch 'emacs-27' of git.savannah.gnu.org:/srv/git/emacs into emacs-27
Earl Hyatt [Wed, 4 Nov 2020 12:26:06 +0000 (07:26 -0500)]
Fix documentation of 'windmove-swap-states-default-keybindings'
* doc/emacs/windows.texi (Window Convenience): Fix description of
'windmove-swap-states-default-keybindings' and related index
entry. (Bug#44441)
Eli Zaretskii [Sat, 7 Nov 2020 08:44:30 +0000 (10:44 +0200)]
; * src/xdisp.c (redisplay_window): Add comment for a recent change.
Eli Zaretskii [Sat, 7 Nov 2020 08:27:15 +0000 (10:27 +0200)]
Fix scrolling problems with misc-fixed fonts under Cairo
* src/ftcrfont.c (ftcrfont_glyph_extents): Avoid rounding up the
glyph ascent to a higher value than needed due to floating-point
roundoff errors. (Bug#44284)
Martin Rudalics [Sat, 7 Nov 2020 08:20:14 +0000 (09:20 +0100)]
Split windows evenly when 'min-margins' parameter was set (Bug#44483)
* lisp/window.el (split-window): Make new window inherit any
'min-margins' parameter from WINDOW so that horizontal splits
reliably produce windows of same width (Bug#44483).
Pip Cet [Thu, 22 Oct 2020 11:40:34 +0000 (13:40 +0200)]
Handle Cairo errors in ftcrfont_open
* src/ftcrfont.c (ftcrfont_open): Handle Cairo errors (bug#41627).
(cherry picked from commit
954a4decfcc8e41084789516773b22d0adc11d91)
Stefan Kangas [Sat, 7 Nov 2020 07:20:21 +0000 (08:20 +0100)]
Delete outdated comment about C rewrite in apropos.el
Maybe it made sense to rewrite apropos.el in C for speed in 1991, but
today the speed increase would not outweigh the maintenance burden.
* lisp/apropos.el: Delete outdated comment.
Stefan Kangas [Sat, 7 Nov 2020 06:55:50 +0000 (07:55 +0100)]
Add some more tests for keymap.c
* test/src/keymap-tests.el (keymap-make-keymap)
(keymap-make-sparse-keymap, keymap-keymapp)
(keymap-keymap-parent, keymap-keymap-set-parent/returns-parent)
(keymap-copy-keymap/is-equal, keymap-copy-keymap/is-not-eq)
(keymap-lookup-key, keymap-apropos-internal)
(keymap-apropos-internal/predicate): New tests.
(keymap-tests--make-keymap-test): New defun.
Stefan Kangas [Tue, 3 Nov 2020 00:35:01 +0000 (01:35 +0100)]
Backport: Fix exiting the finder-commentary buffer
Do not merge to master.
* lisp/finder.el (finder-exit): Fix exiting the finder-commentary
buffer. (Bug#44384)
(finder-buffer): New defconst.
(finder-list-keywords): Use above new defconst.
Mattias Engdegård [Fri, 6 Nov 2020 22:02:29 +0000 (23:02 +0100)]
Rectify skip-set argument
* lisp/gnus/gnus-search.el (gnus-search-query-end-of-input):
Remove brackets that don't belong. Found by relint.
Eli Zaretskii [Fri, 6 Nov 2020 20:13:50 +0000 (22:13 +0200)]
; * lisp/international/mule.el (define-coding-system): Doc fix.
Mattias Engdegård [Fri, 6 Nov 2020 16:10:55 +0000 (17:10 +0100)]
Fix javac message parsing column number off-by-one
* lisp/progmodes/compile.el (compilation-error-regexp-alist-alist):
'javac': Column numbers are 1-based by default; remove subtraction and
η-reduce. Translate regexp to rx (mechanised).
* test/lisp/progmodes/compile-tests.el (compile-tests--test-regexps-data):
Adapt 'javac' test cases to the change.
Glenn Morris [Fri, 6 Nov 2020 16:00:54 +0000 (08:00 -0800)]
Fix --enable-check-lisp-object-type build
* src/print.c (syms_of_print) <print-integers-as-characters>:
Fix type.
Mattias Engdegård [Fri, 6 Nov 2020 14:37:17 +0000 (15:37 +0100)]
Update gdb-mi-tests
* test/lisp/progmodes/gdb-mi-tests.el (gdb-mi-parse-value):
Make test pass after the change in gdb-mi-decode-strings default value.
Mattias Engdegård [Fri, 6 Nov 2020 12:43:53 +0000 (13:43 +0100)]
* lisp/gnus/gnus-search.el (gnus-search-contact-tables): Fix type.
A more precise type is desirable but at it is now correct ('list' is not).
Mattias Engdegård [Sat, 31 Oct 2020 13:44:58 +0000 (14:44 +0100)]
Change the default value of gdb-mi-decode-strings to t (bug#44173)
This is likely to be a more commonly wanted default value today.
* lisp/progmodes/gdb-mi.el (gdb-mi-decode-strings): Change default.
* doc/emacs/building.texi (Source Buffers): Update manual.
* etc/NEWS: Announce.
Mattias Engdegård [Mon, 2 Nov 2020 22:37:16 +0000 (23:37 +0100)]
Reduce integer-output-format to print-integers-as-characters
The variable now only controls whether characters are printed, not
the radix. Control chars are printed in human-readable syntax
only when special escapes such as ?\n are available. Spaces,
formatting and combining chars are excluded (bug#44155).
Done in collaboration with Juri Linkov.
* src/character.c (graphic_base_p):
* src/print.c (named_escape): New functions.
(print_object): Change semantics as described above.
(syms_of_print): Rename integer-output-format. Update doc string.
* doc/lispref/streams.texi (Output Variables):
* etc/NEWS:
* test/src/print-tests.el (print-integers-as-characters):
Rename and update according to new semantics. The test now passes.
Mauro Aranda [Fri, 6 Nov 2020 12:34:08 +0000 (09:34 -0300)]
Go back to not using custom-push-theme when enabling a theme
* lisp/custom.el (enable-theme): Relying on custom-push-theme to
handle theme settings and prior user settings was a mistake. The
theme settings haven't changed between loading the theme and enabling
it, so we don't need all of what custom-push-theme does. However, we
still need to save a user setting outside of Customize, in order to be
able to get back to it, so do that in enable-theme itself.
Eli Zaretskii [Fri, 6 Nov 2020 11:49:07 +0000 (13:49 +0200)]
Improve documentation of a recent change
* doc/emacs/mule.texi (Select Input Method): Add an @anchor.
* doc/emacs/search.texi (Special Isearch): Add cross-reference and
improve wording.
Juri Linkov [Fri, 6 Nov 2020 08:31:58 +0000 (10:31 +0200)]
Support transient input methods in Isearch mode (bug#44266)
* doc/emacs/mule.texi (Select Input Method): Rename
transient-input-method to activate-transient-input-method.
* doc/emacs/search.texi (Special Isearch):
Document isearch-transient-input-method.
* lisp/international/isearch-x.el (isearch-transient-input-method):
New function.
(isearch-process-search-multibyte-characters):
Call 'deactivate-transient-input-method' after 'read-string'.
* lisp/international/mule-cmds.el (mule-menu-keymap): Remove
duplicate menu item 'describe-input-method'. Add new menu item
'activate-transient-input-method'.
(default-transient-input-method): Rename from transient-input-method.
(current-transient-input-method)
(previous-transient-input-method): New buffer-local variables.
(deactivate-input-method): Don't add
current-transient-input-method to input-method-history.
(toggle-input-method): Call deactivate-transient-input-method
when current-transient-input-method is non-nil.
(activate-transient-input-method): Rename from transient-input-method.
(deactivate-transient-input-method): New function with body from
renamed function transient-input-method.
* lisp/isearch.el (isearch-menu-bar-map): Add new menu item
'isearch-transient-input-method'.
(isearch-mode-map): Bind 'C-x \' to isearch-transient-input-method.
(isearch-forward): Add isearch-transient-input-method to docstring.
(isearch-message-prefix): Use shorter string for narrowed buffer.
Eli Zaretskii [Fri, 6 Nov 2020 05:51:07 +0000 (07:51 +0200)]
; * etc/NEWS: Fix wording in a recently added entry.
Stefan Kangas [Fri, 6 Nov 2020 03:45:26 +0000 (04:45 +0100)]
Add more tests for where-is-internal
* test/src/keymap-tests.el (keymap-where-is-internal)
(keymap-where-is-internal/firstonly-t)
(keymap-where-is-internal/menu-item)
(keymap-where-is-internal/advertised-binding)
(keymap-where-is-internal/advertised-binding-respect-remap)
(keymap-where-is-internal/remap)
(keymap-where-is-internal/shadowed): New tests.
(keymap-where-is-internal/preferred-modifier-is-a-string):
Rename from keymap-where-is-internal-test.
Eric Abrahamsen [Thu, 5 Nov 2020 05:13:03 +0000 (21:13 -0800)]
Fixes and improvements to gnus-search
* lisp/gnus/gnus-search.el (gnus-search-default-engines): Change type
from a list of two-element lists, to alist. This matches nnir's old
option type, and should make transition easier.
(nnir-imap-default-search-key): Note that variable is obsolete.
(gnus-search-transform-expression): Interpret the "attachment" key as
"body" in imap searches. Allow specifying larger/smaller message size
values in KB or MB units.
(gnus-search-server-to-engine): Fix error in this function, and
clarify somewhat.
Katsumi Yamaoka [Thu, 5 Nov 2020 22:32:09 +0000 (22:32 +0000)]
* doc/misc/gnus.texi (Selection Groups): Delete excessive paren
Mauro Aranda [Thu, 5 Nov 2020 21:56:29 +0000 (18:56 -0300)]
Enable/disable buttons, tool bar and menu items in Custom buffer (Bug#14398)
* lisp/cus-edit.el (custom-reset-extended-menu): Keymap menu for the
Revert... menu button.
(custom-reset-menu): Keep for backward compatibility, but default to
nil, so we prefer the keymap menu instead.
(custom-reset): Pass the new keymap menu to widget-choose.
(custom-commands): Add an element to each list item, to manage its
enable/disable state. Add docstring.
(custom-command-buttons): New variable, to hold the buttons that act
on all options in a Custom buffer.
(custom-buffer-create-internal): When creating the command buttons,
add the optional :notify function to enable/disable them. Add the
buttons to the new variable custom-command-buttons.
(customize-menu-create): Notify the command buttons after creating the
Custom buffer, so they are correctly enabled/disabled.
(custom-redraw-magic, custom-notify): Notify the command buttons and
update the tool bar when changing a widget to the modified state.
Basil L. Contovounesios [Thu, 5 Nov 2020 21:06:39 +0000 (21:06 +0000)]
Fix coding system in eww-display-pdf
* lisp/net/eww.el (eww-display-pdf): Make *eww pdf* buffer unibyte
before populating it to avoid conversions. The binding for
coding-system-for-write is then no longer necessary, and can be
delegated to the viewer invoked by mailcap-view-mime. Suggested by
Stefan Monnier <monnier@iro.umontreal.ca>. (Bug#44338)
Philipp Stephani [Thu, 5 Nov 2020 20:11:14 +0000 (21:11 +0100)]
* src/minibuf.c (move_minibuffer_onto_frame): Fix comparison
Alan Mackenzie [Thu, 5 Nov 2020 19:27:43 +0000 (19:27 +0000)]
Allow minibuffer to stay in its original frame. Tidy up this area.
* doc/emacs/mini.texi (Basic Minibuffer): Add an entry for
minibuffer-follows-selected-frame.
* doc/lispref/minibuf.texi (Minibuffer Misc): Describe the new parameter to
minibufferp, LIVE.
* etc/NEWS: Add an entry describing the new minibuffer strategy.
* lisp/cus-start.el (minibuffer-prompt-properties--setter): Add an entry for
minibuffer-follows-selected-frame.
* lisp/minibuffer.el (minibuffer-message): Check for the current buffer being
an _active_ minibuffer rather than merely a minibuffer.
* src/frame.c (do_switch_frame): Call move_minibuffer_onto_frame.
* src/lisp.h (Top level): Add prototypes for move_minibuffer_onto_frame and
is_minibuffer.
* src/minibuf.c (minibuf_follows_frame): New function which ignores local and
let-bound values of minibuffer-follows-selected-frame.
(choose_minibuf_frame): Reformulate this function to reuse a minibuffer window
where possible, and to ensure no other frame has its minibuffer current, but
only when `minibuffer-follows-selected-frame'.
(move_minibuffer_onto_frame): New function.
(live_minibuffer_p): New function.
(Fminibufferp): Add a new &optional parameter LIVE. Reformulate, possibly
calling live_minibuffer_p.
(read_minibuf): move the incrementation of minibuf_level to before the call of
choose_minibuf_frame. Empty the miniwindows of frames without an active
minibuffer, rather than of all but the current frame.
(is_minibuffer): New function.
(read_minibuf_unwind): Note the miniwindow being restored and resize all other
miniwindows to zero size.
(minibuffer-follows-selected-frame): New configuration variable.
* src/window.c (candidate_window_p): In some scenarios, check the miniwindow
holds an active minibuffer.
* src/xdisp.c (get_window_cursor_type): Suppress the cursor for non-active
miniwindows, regardless of minibuf_level.
Eli Zaretskii [Thu, 5 Nov 2020 17:46:50 +0000 (19:46 +0200)]
* src/w32fns.c (Fw32_register_hot_key): Doc fix. (Bug#44456)
Basil L. Contovounesios [Tue, 3 Nov 2020 22:54:34 +0000 (22:54 +0000)]
Improve eww support for externally viewed PDFs
The *eww pdf* buffer is only needed when viewing PDFs within Emacs,
e.g., with doc-view-mode. External PDF viewers are called with a
temporary file, so the buffer is not needed in that case. What's
more, mailcap-view-mime erased the buffer and left it in
fundamental-mode until now, so the user was left staring at a
useless, empty buffer. To make things even worse, external viewers
were invoked synchronously until now, so the user could not browse
the PDF file and use Emacs simultaneously.
* lisp/net/mailcap.el (mailcap--async-shell): New function.
(mailcap-view-mime): Use it to invoke external viewers
asynchronously. Mention erasure of current buffer in that case in
docstring. Add a period between the temporary file name and its
extension.
* lisp/net/eww.el (eww-display-pdf): Simplify using
insert-buffer-substring. Fix coding-system-for-write for a stream
of raw bytes. Pop to *eww pdf* buffer only if it is used for
displaying a document; otherwise kill it. (bug#44338)
Stefan Kangas [Thu, 5 Nov 2020 17:23:56 +0000 (18:23 +0100)]
; Silence byte-compiler warnings in tests
* test/lisp/emacs-lisp/easy-mmode-tests.el (easy-mmode--minor-mode):
* test/lisp/progmodes/cperl-mode-tests.el (cperl-bug30393):
Silence byte-compiler.
Michael Albinus [Thu, 5 Nov 2020 16:36:04 +0000 (17:36 +0100)]
Still fixes for Tramp directory-files-*
* lisp/net/tramp.el (tramp-handle-directory-files):
* lisp/net/tramp-adb.el
(tramp-adb-handle-directory-files-and-attributes): Fix COUNT.
* lisp/net/tramp-crypt.el (tramp-crypt-handle-directory-files):
Implement COUNT.
* lisp/net/tramp-gvfs.el (tramp-gvfs-dbus-byte-array-to-string):
* lisp/net/tramp-integration.el (tramp-eshell-directory-change):
Use `nbutlast'.
* lisp/net/tramp-rclone.el (tramp-rclone-handle-delete-directory)
(tramp-rclone-handle-delete-file): Reorder cache flushing.
(tramp-rclone-handle-directory-files):
Use `tramp-compat-directory-files'.
* lisp/net/tramp-sh.el (tramp-sh-handle-directory-files-and-attributes):
Fix NOSORT and COUNT.
* lisp/net/tramp-smb.el (tramp-smb-handle-directory-files): Fix NOSORT.
* test/lisp/net/tramp-tests.el (tramp--test-share-p): New defun.
(tramp-test05-expand-file-name-relative): Use it.
(tramp-test16-directory-files)
(tramp-test19-directory-files-and-attributes): Strengthen test.
(tramp-test20-file-modes): Simplify check.
Lars Ingebrigtsen [Tue, 3 Nov 2020 14:50:44 +0000 (15:50 +0100)]
Let pdf-view-mode take precedence over doc-view-mode
* lisp/net/mailcap.el (mailcap-mime-data): Note the order, and let
pdf-view-mode take precedence, since it's an optional package
(bug#44338).
Stefan Kangas [Thu, 5 Nov 2020 14:42:26 +0000 (15:42 +0100)]
; Silence byte-compiler warning in xdisp-tests.el
* test/src/xdisp-tests.el (xdisp-tests--minibuffer-scroll): Silence
byte-compiler.
Basil L. Contovounesios [Thu, 29 Oct 2020 22:48:12 +0000 (22:48 +0000)]
Sync biblatex entries and fields with v3.15
* lisp/textmodes/bibtex.el (bibtex-BibTeX-entry-alist): Fix
abbreviation of PhD.
(bibtex-biblatex-entry-alist, bibtex-biblatex-field-alist): Sync
standard entry and field types with those described in the biblatex
v3.15 manual of 2020-08-19 (bug#44322).
Stephen Berman [Wed, 4 Nov 2020 22:52:21 +0000 (23:52 +0100)]
Improve display of tabulated list header line labels (bug#44068)
* lisp/emacs-lisp/tabulated-list.el (tabulated-list-init-header):
Ensure sort indicator appears after the label of any selected
sortable column that is wide enough and enable label truncation
when narrowing a column.
* lisp/emacs-lisp/timer-list.el (timer-list-mode): Improve column
alignment.
(timer-list--function-predicate): Correct typo in doc string.
Eli Zaretskii [Wed, 4 Nov 2020 20:10:06 +0000 (22:10 +0200)]
Prevent redisplay from moving point behind user's back
* src/bidi.c (bidi_at_paragraph_end, bidi_find_paragraph_start):
Bind inhibit-quit to a non-nil value around calls to
fast_looking_at, to prevent breaking out of redisplay_window,
which temporarily moves point in buffers shown in non-selected
windows. (Bug#44448)